package com.congee02.spring.beans.factory;

import com.congee02.spring.beans.BeansException;

/**
 * 用于访问 Spring bean 容器的根接口。
 * @author congee(congee02 @ 163.com)
 * @date 1/28/2023 3:33 PM
 */
public interface BeanFactory {

    String FACTORY_BEAN_PREFIX = "&";

    Object getBean(String name) throws BeansException;
    
    <T> T getBean(String name, Class<T> requiredType) throws BeansException;
    
    Object getBean(String name, Object... args) throws BeansException;
    
    <T> T getBean(Class<T> requiredType) throws BeansException;

//    <T> T getBean(Class<T> requiredType) throws BeansException;
    
}
